The present invention relates generally to an editor for specifying parameter values characterizing the properties of an effect on an object, and more particularly to an editor that supports multiple effects in a single instance of the editor.
Computer software is routinely used to depict graphic images on a computer display, under the control of specially designed graphics software. The graphics software is meant to execute in conjunction with an operating system that supports the graphics capabilities of the system; i.e. the software must understand graphics concepts such as brush, pen, and color support. Dedicated graphics processors and general purpose computer systems with high speed processors and large, high resolution monitors have increased the ability to display high quality graphics when used in conjunction with the graphics software.
Graphics software packages that run on various hardware configurations are commercially available. Video editing and computer animation applications are the typical uses of the software. Softimage of Montreal, Canada provides an example of computer graphics software that is commercially available. This software provides for a filter capability to modify video and animation clips, according to the specifications of the user.
Filters may implement one or more effects that are applied to a clip of video, audio, animation, or other types of time-based information. Examples of these effects include a brush effect for painting the clip, a dissolve effect for transitioning between clips, and a color correction effect for selectively changing a specified color in a clip to a new color. Of course other effects are possible, and it is not intended that those identified above are the only ones contemplated.
The filtering process includes receiving a clip of video or animation information, applying the effect to the clip, and outputting the desired effect. Effects may be chained together to form an xe2x80x9ceffect treexe2x80x9d for implementing more complex effects. In essence, an xe2x80x9ceffect treexe2x80x9d is a directed acyclic graph of effects. The output of one effect is input to a subsequent effect, and thus effects can be applied in a layered or sequential manner. A typical effect tree operates on a set of input images by passing them through one or more image effects such as a blur or tint, and then mixing them together using operations such as xe2x80x9cmultiplyxe2x80x9d or xe2x80x9coverxe2x80x9d.
Each effect in the tree is an object that publishes a set of property pages for describing or defining the capabilities of the effect. The result of the effect on an input image is then determined by changing the parameter values that define these capabilities. Typically, an individual xe2x80x9cproperty editorxe2x80x9d is provided for each different effect, allowing the parameter values for only that effect to be modified by the user.
An effect tree is usually presented as a graph in which each effect within the effect tree is a node of the graph. Each effect is represented in the graph as an icon or otherwise identified object. The graph depicts the input to each node of the effect tree and its resulting output. To modify an individual effect within the effect tree, the user selects the icon representative of the desired effect in order to invoke the related property editor associated with only that effect. A window for the individual property editor is subsequently opened and the properties or parameters defining the effect are made available for modification.
To modify another effect in the effect tree, the user must return to the graph of the effect tree to select the property editor associated with the desired effect. For each effect that is to be modified, the effect tree must be reselected, and the effect identified in order to invoke the associated property editor. Unfortunately, the user is forced to return to the effect tree in order to select the effect each time a new effect is edited which necessitates navigating back and forth between the effect tree graph and the property effect editors.
What is desired is an effect tree structure and an associated property editor that avoids the frequent navigating between the view of the effect tree and the property editor in order to select another effect for processing.
The present invention advantageously provides for a property editor in a graphics image system in order to specify parameter values for effects in an effect tree. A separate instance of the property editor is not invoked for each effect within the effect tree, but rather the property editor permits the modification of multiple effects from the same instance of the editor. Furthermore, a user is not required to navigate between a view of the effect tree and a property editor to select an effect for editing.
In one aspect of the invention, a property editor is implemented in software for an effect tree that includes the ability to recognize the structure of the effect tree-and present an effect tree view in graphical form.
In another aspect of the invention, a property editor for an effect tree supports specifying parameter values for multiple effects within a single instance of the editor.
In a yet still further aspect of the invention, the structure of an effect tree enables users to distinguish effects within its structure to be exposed for editing within property editors while other effects are ignored and not exposed in an effort to simplify the editing experience.